package org.footballmanager.pandafootball.system.service;

import org.footballmanager.pandafootball.system.domain.FootChip;
import org.footballmanager.pandafootball.system.domain.FootUser;
import org.footballmanager.pandafootball.system.form.impl.FootChipSearchForm;
import org.springframework.ui.Model;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface FootChipService extends BaseService<FootChip> {

	/**
	 * 根据所给用户主键，随机获得一个白人
	 * @param userId
	 * @param request
	 * @return
	 */
	String randomWhiltePerson(Long userId, HttpServletRequest request);

	/**
	 * 根据所给用户主键，随机获得一个普通球星
	 * @param userId
	 * @param request
	 * @return
	 */
	String randomGreenPerson(Long userId, HttpServletRequest request);

	/**
	 * 根据所给用户主键，随机获得一个洲际球星
	 * @param userId
	 * @param request
	 * @return
	 */
	String randomBluePerson(Long userId, HttpServletRequest request);

	/**
	 * 根据所给用户主键，随机获得一个超级球星
	 * @param userId
	 * @param request
	 * @return
	 */
	String randomPurplePerson(Long userId, HttpServletRequest request);

	/**
	 * 根据所给用户主键，随机获得一个顶级球星
	 * @param userId
	 * @param request
	 * @return
	 */
	String randomOrangePerson(Long userId, HttpServletRequest request);
	
	/**
	 * 根据用户找碎片数
	 * @param userId
	 * @return
	 */
	FootChip findChipByUserId(Long userId);

	/**
	 * 获取对应类型碎片
	 * @param userId
	 * @param type
	 * @param num
	 * @param request
	 */
	void randomGetChip(Long userId, int type, int num, HttpServletRequest request);

	/**
	 * 新建用户的碎片信息
	 * @param footUser
	 * @param request
	 */
	void saveNewChip(FootUser footUser, HttpServletRequest request);

    /**
     * 翻页方法
     * @param footChipSearchForm 条件
     * @return 列表
     */
    List<FootChip> findall(FootChipSearchForm footChipSearchForm);

    /**
     * 查询
     * @param entityname 实体类名
     * @param map 参数
     * @param footChipSearchForm 条件
     */
    void search(String entityname, Model map, FootChipSearchForm footChipSearchForm);
}
